ShaderLab 命令:Offset |
您所在的位置:网站首页 › unity 语言设置 › ShaderLab 命令:Offset |
Unity User Manual 2022.3 (LTS)
图形
着色器
编写着色器
ShaderLab
ShaderLab:命令
ShaderLab 命令:Offset
ShaderLab 命令:Cull
ShaderLab 命令:模板
ShaderLab 命令:Offset
设置 GPU 上的深度偏差。 深度偏差,也称为深度偏移,是 GPU 上的一个设置,决定了 GPU 绘制几何体的深度。调整深度偏差以强制 GPU 在具有相同深度的其他几何体之上绘制几何体。这可以帮助您避免不需要的视觉效果,例如深度冲突和阴影暗斑。 要为特定几何体设置深度偏差,请使用此命令或 RenderStateBlock 。要设置影响所有几何体的全局深度偏差,请使用 CommandBuffer.SetGlobalDepthBias。除了全局深度偏差之外,GPU 还为特定几何体应用深度偏差。 为了减少阴影暗斑,您可以使用 light bias 设置实现类似的视觉效果;但是,这些设置的工作方式不同,并且不会更改 GPU 上的状态。有关更多信息,请参阅阴影故障排除。 渲染管线兼容性 功能名称 内置渲染管线 通用渲染管线 (URP) 高清渲染管线 (HDRP) 自定义 SRP Offset 是 是 是 是 用法此命令会更改渲染状态。在 Pass 代码块中使用它可为该通道设置渲染状态,或者在 SubShader 代码块中使用它可为该子着色器中的所有通道设置渲染状态。 签名 示例语法 功能 Offset , Offset 1, 1 根据给定的值,将几何体绘制得更靠近或更远离摄像机。 有效参数值 参数 值 功能 factor 浮点数,范围 –1 到 1。 缩放最大 Z 斜率,也称为深度斜率,以生成每个多边形的可变深度偏移。不平行于近剪裁平面和远剪裁平面的多边形具有 Z 斜率。调整此值以避免此类多边形上出现视觉瑕疵。 units 浮点数,范围 –1 到 1。 缩放最小可分辨深度缓冲区值,以产生恒定的深度偏移。最小可分辨深度缓冲区值(一个 _unit_)因设备而异。负值意味着 GPU 将多边形绘制得更靠近摄像机。正值意味着 GPU 将多边形绘制得更远离摄像机。 示例此示例代码演示在 Pass 代码块中使用此命令的语法。 Shader "Examples/CommandExample" { SubShader { // 此处是定义子着色器的代码的其余部分。 Pass { // 设置此几何体的深度偏移,以便 GPU 将此几何图形绘制得更靠近摄像机 // 您通常会这样做以避免深度冲突 Offset -1, -1 // 此处是定义通道的代码的其余部分。 } } }此示例代码演示在 SubShader 代码块中使用此命令的语法。 Shader "Examples/CommandExample" { SubShader { // 设置此几何体的深度偏移,以便 GPU 将此几何图形绘制得更靠近摄像机 // 您通常会这样做以避免深度冲突 Offset -1, -1 //此处是定义子着色器的代码的其余部分。 Pass { // 此处是定义通道的代码的其余部分。 } } } ShaderLab 命令:Cull ShaderLab 命令:模板 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |